/*
	File: IDate.h
	Desc: Date data interface
*/

#pragma once

#include <string>
#include "ctime"

class IDate
{
public:
    IDate()  {}
	virtual ~IDate() {}

public:
	// Attribute
	virtual int          setDate(int year, int month, int day, int hour, int min, int sec) = 0;
	virtual unsigned int getDay()        = 0;
	virtual unsigned int getMonth()      = 0;
	virtual unsigned int getYear()       = 0;
	virtual unsigned int getHour()       = 0;
	virtual unsigned int getMinute()     = 0;
	virtual unsigned int getSecond()     = 0;

	virtual void addTime(int second)     = 0;
	virtual void addDate(int day)        = 0;

    virtual int compare(IDate *d1, IDate *d2)   = 0;
    virtual void getToday(void)                 = 0;

	virtual unsigned int operator-(IDate& date) = 0; // Get period between two Date
};
